package org.dicr.traffic.filter;

import org.dicr.traffic.source.*;

/**
 * Traffic Listener
 * 
 * @author <A href='http://dicr.org'>Igor A Tarasov</A>
 * @version 030426
 */
public interface TrafficFilter {
	/**
     * Filter traffic
     * 
     * @param traf traffic to filter
     * @return filtered traffic
     */
	public TrafficElement[] filterTraffic(TrafficElement[] traf);

	/**
     * Return processed bytes count.
     * 
     * @return total bytes count of all elements, processed by this filter.
     */
	public long getTotalBytesCount();

	/**
     * Return filtered bytes count
     * 
     * @return bytes count off all elements filtered by this filter.
     */
	public long getFilteredBytesCount();
}
